#pragma once
#include "Model.h"
#include "Texture.h"
#include "Shader.h"
#include "Camera.h"
#include "Platforms.h"
#include "FileManager.h"
#include <map>

using namespace std;

class ResourceManager
{
private:
	static ResourceManager* s_Instance;
public:
	static ResourceManager* GetInstance();//for singleton
	void ResourceManager::AddTexture(char* ID, Texture* texture);

	Model** m_Model;
	Texture** m_Texture;
	Shader** m_Shader;
	int m_NumModel;
	int m_NumTexture;
	int m_NumShader;

	Model* GetModel(char* ID);
	Texture* GetTexture(char* ID);
	Shader* GetShader(char* ID);
	void Load(char* file);

	ResourceManager(void);
	~ResourceManager(void);
};
